perm filename PLTPRT.FAI[TMP,LCS] blob
sn#137179 filedate 1974-12-25 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 TITLE JUGLR
C00013 ENDMK
C⊗;
TITLE JUGLR
ENTRY JUGGLE,LOOP
;C******** JUGGLER ********
; SUBROUTINE JUGGLE
; IMPLICIT INTEGER(A-Z)
; REAL PWDS,RN
; COMMON /DL/X22,SAVER,NAME /XRN/RN(4000)
; COMMON/PTR/PWDS(250),ITEM,L,I,IX/DPY/ST(4000),WDS(250),MEDIT,IGO
EXTERNAL DL,XRN,PTR,DPY,FLOAT,IFIX
JUGGLE: 0
SOS PTR+=250 ;ITEM=ITEM-1
HRR 2,DPY+=4250 ;JX=RN(MEDIT)+3
;2←MEDIT IF POZ
JSA 16,IFIX ;CC WD CNT OF OLD ITEM
CAI XRN-1(2)
ADDI 0,3 ;C I-IX IS WD CNT OF NEW ITEM
;0←JX
MOVE 4,PTR+=253 ;JY=IX
;4←JY
MOVE 5,PTR+=252 ;Z=I-IX-JX
SUB 5,4 ;C SPACE CHANGE
SUB 5,0
;5←Z
JUMPL 5,L2751 ;IF(Z)2751,172,751
JUMPE 5,L172
HRRE 10,2 ;MEDIT+JX
ADD 10,0 ;JX
MOVE 11,PTR+=252 ;I-1
SOJ 11, ;751 CALL LOOP(I-1,MEDIT+JX,-1,Z,0,RN)
SUB 10,11
ADDI 11,XRN-1
HRRM 5,.+2
MOVE 7,(11)
MOVEM 7,(11)
SOJ 11,
SOJL 10,.-3
ADD 4,5 ;JY=IX+Z
JRST L172 ;GO TO 172
L2751: HRRE 10,2 ;2751 CALL LOOP(MEDIT+JX+Z,IX+Z-1,1,0,-Z,RN)
ADD 10,0
MOVE 11,PTR+=253
SUB 10,11
ADD 11,5
ADDI 11,XRN-1
MOVN 12,5
HRRM 12,.+1
MOVE 7,(11)
MOVEM 7,(11)
AOJ 11,
SOJGE 10,.-3
L172: JSA 16,IFIX ;172 J=RN(JY)+2
CAI XRN-1(4)
ADDI 0,2
MOVEM 0,J#
MOVE 10,0 ;CALL LOOP(0,J,1,MEDIT,JY,RN)
HRRZI 11,XRN-1
HRRM 4,.+2
HRRM 2,.+2
MOVE 7,(11)
MOVEM 7,(11)
AOJ 11,
SOJGE 10,.-3
MOVE 7,5 ;I=IX+Z
ADD 7,PTR+=253
MOVEM 7,PTR+252
L1751: MOVE 7,PTR+=250 ;1751 X=ITEM+1
AOJ 7,
MOVE 12,DL ;JX=WDS(X22+1)-WDS(X22)
MOVE 6,DPY+=4000(12)
SUB 6,DPY+=3999(12)
MOVE 0,DPY+=4000(7) ;J=WDS(X+1)-WDS(X)
SUB 0,DPY+=3999(7)
MOVE 3,0 ;Y=J-JX
SUB 3,6
MOVE 6,DPY+=3999(7) ;JX=WDS(X)+Y+1
ADD 6,3
AOJ 6,
JUMPL 3,L2851 ;IF(Y)2851,182,282
JUMPE 3,L182
MOVE 10,DPY+=3999(12) ;282 CALL LOOP(WDS(X+1)+2,WDS(X22),-1,Y,0,ST)
MOVE 11,DPY+=4000(7)
ADDI 11,2
SUB 10,11
ADDI 11,DPY-1
HRRM 3,.+2
MOVE 13,(11)
MOVEM 13,(11)
SOJ 11,
SOJGE 10,.-3
JRST L182 ;GO TO 182
L2851: MOVE 10,DPY+=3999(7) ;2851 CALL LOOP(WDS(X22+1)+Y+1,WDS(X)+Y+1,1,0,-Y,ST)
MOVE 11,DPY+=4000(12)
SUB 10,11
ADDI 11,DPY(3)
MOVN 13,3
HRRM 13,.+1
MOVE 13,(11)
MOVEM 13,(11)
AOJ 11,
SOJGE 10,.-3
MOVE 6,DPY+=3999(7) ;JX=WDS(X)+1
AOJ 6,
L182: HRRZI 11,DPY ;182 CALL LOOP(1,J,1,WDS(X22)+1,JX,ST)
HRRM 6,.+4
HRR 13,DPY+=3999(12)
AOJ 13,
HRRM 13,.+2
MOVE 13,(11)
MOVEM 13,(11)
AOJ 11,
SOJG 0,.-3
JSA 16,FLOAT
CAI 5
HRRZI 11,1(12) ;DO 183 K=X22+1,X
FADRM 0,PTR-1(11) ;PWDS(K)=PWDS(K)+Z
ADDM 3,DPY+=3999(11) ;183 WDS(K)=WDS(K)+Y
AOJ 11,
CAMG 11,7
JRST .-4
MOVE 13,DPY+=3999(7) ;ST(2)=WDS(X)
MOVEM 13,DPY+1
SETZM DL ;X22=0
JRA 16,1(16) ;END
; SUBROUTINE LOOP(I,J,K,L,M,N)
; DIMENSION N(1)
; DO 1 NN=I,J,K
;1 N(NN+L)=N(NN+M)
; END
LOOP: 0
MOVE 4,@1(16)
MOVE 3,@0(16)
SUB 4,3
HRRZ 2,5(16)
SOJ 2,
ADD 2,3
JUMPL 4,MIMI
HRR 5,2
ADD 5,@3(16)
ADD 4,2
ADD 4,@3(16)
ADD 2,@4(16)
HRL 5,2
BLT 5,(4)
JRA 16,6(16)
MIMI: HRR 5,@4(16)
HRRM 5,XN
HRR 5,@3(16)
HRRM 5,XN+1
XN: MOVE 6,(2)
MOVEM 6,(2)
SOJ 2,
AOJL 4,XN
JRA 16,6(16)
END